[ JavaScript 01 ] 基礎觀念


Posted by tzutzu858 on 2020-06-21

#基礎觀念 #邏輯運算 #位元運算

JavaScript 是一個成熟的動態程式語言,應用於 HTML 文件(document)上時,就可以為網頁提供動態的互動功能。JavaScript 是由 Mozilla project、Mozilla Foundation 和 Mozilla Corporation 的創辦人 Brendan Eich 所發明的。 文章參考

早期 javascript 只能用在瀏覽器上執行,之後 2009 年有了 Node.js,Node.js 是能夠在伺服器端運行 JavaScript 的開放原始碼、跨平台 JavaScript 執行環境(run-time)。因此 javascript 除了瀏覽器上執行也可以在 Node.js 執行。


 邏輯運算 : && (and)、|| (or) 與 ! (not)

> true || true 
true

> true || false
true

> true && false
false

> true && true
true

> !true
false

> !false
true

|| 與 && 的短路性質

> 3 || 10
3  

> false || 10
10

> 0 || 10
10

or 只要有一個是 true 就會印出來,所以不會跑到後面。
0 要把它看成 false , 負數也是 true

> 3 && 10
10

> true && false
false

> false && 10
false

> 0 && 10
0

> false && 0
false

 位元運算

位移運算子 >> 與 <<

  • 複習 2進位
     二進位
0100 = 2^2 = 4
1000 = 2^3 = 8

<< 往左移 1 位 數字乘2
0011 => 0110 3 << 1 結果是 3x2=6

>> 往左移 1 位 數字除2
0101 => 0010 6 >> 1 結果是 6/2=3
p.s. 往右移如果不能整除的話會是無條件捨去,
所以 5 >> 1 是 5/2=2..1
餘1會捨去,結果是 2

5 >> 1 會是 2 
0101 => 0010

5 >> 2 會是 1
0101 => 0001

位移運算子會比直接乘以2除2效能比較快


位元運算的 and、or、xor 與 not

  • 一個符號是位元運算
  • 兩個符號是邏輯運算
    1010
    1111
and______
    1010


> 10 & 15
10     // 1010 && 1111 = 1010

> 10 && 15
15     // || 與 && 的短路性質

    1010
    1111
or________
    1111


> 10 | 15
15

> 10 || 15
10

     1010
     1111
xor________
     0101


> 10 ^ 15
5

//  xor 兩個都是 1,兩個都是 0,會回傳 0 
//  兩個不一樣,回傳 1
//  符號代表 ^
// not 數字反轉 , 1 變 0 , 0 變 1

> !15
false

> ~15
-16

#javascript







Related Posts

2356. Number of Unique Subjects Taught by Each Teacher

2356. Number of Unique Subjects Taught by Each Teacher

Day01 Transfer Learning 遷移式學習

Day01 Transfer Learning 遷移式學習

建立Node.js 伺服器

建立Node.js 伺服器


Comments